import { $each } from './index';
import { isNullOrEmpty } from './is';

export function handleChangeGroup (seriesData, selectStackOptions) {
  
  // 要去分组
  if (!isNullOrEmpty(selectStackOptions.value) || !isNullOrEmpty(selectStackOptions)) {
    /**
     * selectOptionsList - 度量分组数据
     * selectedValueList - 被选中的度量集合,
     * originalData - 原始数据(所有数据)
     */
    const { selectOptionsList } = selectStackOptions.value || selectStackOptions;
    // 二次处理seriesData
    $each(seriesData || [], (seriesItem) => {
      $each(selectOptionsList || [], (selectOptionsItem) => {
        const selectFlag = selectOptionsItem.selectValue.length > 0;
        // 这是要堆叠一起的，添加一个字段
        if (selectFlag && selectOptionsItem.selectValue.includes(seriesItem.name)) {
          // 默认添加一个定义stack的规则，取第一项默认添加为stack
          seriesItem.stack = selectOptionsItem.selectValue[0];
          // 这是不去堆叠的，默认为分组
        }
      })
    })
  }
  return seriesData;
}
